package com.lt.bigevent.vo;


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 统一响应结果
 * @author 18703
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Result<T> {
    /**
     * 业务状态码  0-成功  1-失败
     */
    private Integer code;
    /**
     * 提示信息
     */
    private String message;
    /**
     * 响应数据
     */
    private T data;

    /**
     * 快速返回操作成功响应结果(带响应数据)
     * @param data dta
     * @param <E> e
     * @return re
     */
    public static <E> Result<E> success(E data) {
        return new Result<>(200, "操作成功", data);
    }

    /**
     * 快速返回操作成功响应结果
     * @return RE
     */
    public static <E> Result<E> success() {
        return new Result<E>(200, "操作成功", null);
    }

    /**
     * 快速返回操作成功响应结果
     * @param message MES
     * @param <E> e
     * @return re
     */
    public static <E> Result<E> error(String message) {
        return new Result<E>(201, message, null);
    }
}
